## Parsed with column specification:
## cols(
## .default = col_double(),
## FlightDate = col_date(format = ""),
## Reporting_Airline = col_character(),
## IATA_CODE_Reporting_Airline = col_character(),
## Tail_Number = col_character(),
## Origin = col_character(),
## OriginCityName = col_character(),
## OriginState = col_character(),
## OriginStateFips = col_character(),
## OriginStateName = col_character(),
## Dest = col_character(),
## DestCityName = col_character(),
## DestState = col_character(),
## DestStateFips = col_character(),
## DestStateName = col_character(),
## CRSDepTime = col_character(),
## DepTime = col_character(),
## DepTimeBlk = col_character(),
## WheelsOff = col_character(),
## WheelsOn = col_character(),
## CRSArrTime = col_character()
## # ... with 40 more columns
## )
## See spec(...) for full column specifications.
Here, I chose ATL airport and UA airline.
## Parsed with column specification:
## cols(
## .default = col_double(),
## AIRPORT = col_character(),
## DISPLAY_AIRPORT_NAME = col_character(),
## DISPLAY_AIRPORT_CITY_NAME_FULL = col_character(),
## AIRPORT_COUNTRY_NAME = col_character(),
## AIRPORT_COUNTRY_CODE_ISO = col_character(),
## AIRPORT_STATE_NAME = col_character(),
## AIRPORT_STATE_CODE = col_character(),
## AIRPORT_STATE_FIPS = col_character(),
## DISPLAY_CITY_MARKET_NAME_FULL = col_character(),
## LAT_HEMISPHERE = col_character(),
## LON_HEMISPHERE = col_character(),
## AIRPORT_START_DATE = col_date(format = ""),
## AIRPORT_THRU_DATE = col_date(format = ""),
## X33 = col_logical()
## )
## See spec(...) for full column specifications.
## Source : http://tile.stamen.com/terrain/4/2/5.png
## Source : http://tile.stamen.com/terrain/4/3/5.png
## Source : http://tile.stamen.com/terrain/4/4/5.png
## Source : http://tile.stamen.com/terrain/4/5/5.png
## Source : http://tile.stamen.com/terrain/4/2/6.png
## Source : http://tile.stamen.com/terrain/4/3/6.png
## Source : http://tile.stamen.com/terrain/4/4/6.png
## Source : http://tile.stamen.com/terrain/4/5/6.png
## Source : http://tile.stamen.com/terrain/4/2/7.png
## Source : http://tile.stamen.com/terrain/4/3/7.png
## Source : http://tile.stamen.com/terrain/4/4/7.png
## Source : http://tile.stamen.com/terrain/4/5/7.png
The level of transparency of the lines specifies how often does UA carry flights between ATL airport and other airports in Feb 2020. The deeper the color means more flights.
| Origin_DateTime_NY | Dest_DateTime_NY | Tail_Number | Origin | Dest |
|---|---|---|---|---|
| 2020-02-01 20:35:00 | 2020-02-01 22:46:00 | N231JB | ATL | BOS |
| 2020-02-01 20:48:00 | 2020-02-01 23:20:00 | N309JB | BOS | ATL |
| 2020-02-01 10:38:00 | 2020-02-01 12:52:00 | N284JB | ATL | BOS |
| 2020-02-01 06:01:00 | 2020-02-01 07:56:00 | N632JB | ATL | FLL |
| 2020-02-01 10:46:00 | 2020-02-01 12:31:00 | N547JB | FLL | ATL |
| 2020-02-01 07:22:00 | 2020-02-01 10:02:00 | N637JB | JFK | ATL |
## # A tibble: 6,580 x 2
## # Groups: Tail_Number [2,422]
## Tail_Number DayofMonth
## <chr> <dbl>
## 1 N101DQ 24
## 2 N101HQ 1
## 3 N101HQ 2
## 4 N102HQ 12
## 5 N102HQ 29
## 6 N103HQ 7
## 7 N103HQ 11
## 8 N105DU 21
## 9 N106HQ 22
## 10 N107SY 22
## # ... with 6,570 more rows
## List of 93
## $ line :List of 6
## ..$ colour : chr "black"
## ..$ size : num 0.409
## ..$ linetype : num 1
## ..$ lineend : chr "butt"
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ rect :List of 5
## ..$ fill : chr "white"
## ..$ colour : chr "black"
## ..$ size : num 0.409
## ..$ linetype : num 1
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ text :List of 11
## ..$ family : chr ""
## ..$ face : chr "plain"
## ..$ colour : chr "black"
## ..$ size : num 9
## ..$ hjust : num 0.5
## ..$ vjust : num 0.5
## ..$ angle : num 0
## ..$ lineheight : num 0.9
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ title : NULL
## $ aspect.ratio : NULL
## $ axis.title : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ axis.title.x :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 2.25pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.x.top :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 2.25pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.x.bottom : NULL
## $ axis.title.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 1
## ..$ angle : num 90
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 2.25pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.y.left : NULL
## $ axis.title.y.right :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : num -90
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 2.25pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ axis.text.x :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 1.8pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.x.top :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 1.8pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.x.bottom : NULL
## $ axis.text.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 1
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 1.8pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.y.left : NULL
## $ axis.text.y.right :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 1.8pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.ticks : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ axis.ticks.x : NULL
## $ axis.ticks.x.top : NULL
## $ axis.ticks.x.bottom : NULL
## $ axis.ticks.y : NULL
## $ axis.ticks.y.left : NULL
## $ axis.ticks.y.right : NULL
## $ axis.ticks.length : 'unit' num 2.25pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ axis.ticks.length.x : NULL
## $ axis.ticks.length.x.top : NULL
## $ axis.ticks.length.x.bottom: NULL
## $ axis.ticks.length.y : NULL
## $ axis.ticks.length.y.left : NULL
## $ axis.ticks.length.y.right : NULL
## $ axis.line : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ axis.line.x : NULL
## $ axis.line.x.top : NULL
## $ axis.line.x.bottom : NULL
## $ axis.line.y : NULL
## $ axis.line.y.left : NULL
## $ axis.line.y.right : NULL
## $ legend.background :List of 5
## ..$ fill : NULL
## ..$ colour : logi NA
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ legend.margin : 'margin' num [1:4] 4.5pt 4.5pt 4.5pt 4.5pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ legend.spacing : 'unit' num 9pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ legend.spacing.x : NULL
## $ legend.spacing.y : NULL
## $ legend.key :List of 5
## ..$ fill : chr "white"
## ..$ colour : logi NA
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ legend.key.size : 'unit' num 1.2lines
## ..- attr(*, "valid.unit")= int 3
## ..- attr(*, "unit")= chr "lines"
## $ legend.key.height : NULL
## $ legend.key.width : NULL
## $ legend.text :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 0.8
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ legend.text.align : NULL
## $ legend.title :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ legend.title.align : NULL
## $ legend.position : num [1:2] 0 0
## $ legend.direction : NULL
## $ legend.justification : num [1:2] 0 0
## $ legend.box : NULL
## $ legend.box.just : NULL
## $ legend.box.margin : 'margin' num [1:4] 0cm 0cm 0cm 0cm
## ..- attr(*, "valid.unit")= int 1
## ..- attr(*, "unit")= chr "cm"
## $ legend.box.background : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ legend.box.spacing : 'unit' num 9pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ panel.background : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.border : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.spacing : 'unit' num 0lines
## ..- attr(*, "valid.unit")= int 3
## ..- attr(*, "unit")= chr "lines"
## $ panel.spacing.x : NULL
## $ panel.spacing.y : NULL
## $ panel.grid : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.grid.major : NULL
## $ panel.grid.minor :List of 6
## ..$ colour : NULL
## ..$ size : 'rel' num 0.5
## ..$ linetype : NULL
## ..$ lineend : NULL
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ panel.grid.major.x : NULL
## $ panel.grid.major.y : NULL
## $ panel.grid.minor.x : NULL
## $ panel.grid.minor.y : NULL
## $ panel.ontop : logi FALSE
## $ plot.background : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ plot.title :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1.2
## ..$ hjust : num 0
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 4.5pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.title.position : chr "panel"
## $ plot.subtitle :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 4.5pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.caption :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 0.8
## ..$ hjust : num 1
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 4.5pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.caption.position : chr "panel"
## $ plot.tag :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1.2
## ..$ hjust : num 0.5
## ..$ vjust : num 0.5
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.tag.position : chr "topleft"
## $ plot.margin : 'margin' num [1:4] 4.5pt 4.5pt 4.5pt 4.5pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ strip.background :List of 5
## ..$ fill : chr "grey85"
## ..$ colour : chr "grey20"
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ strip.background.x : NULL
## $ strip.background.y : NULL
## $ strip.placement : chr "inside"
## $ strip.text :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : chr "grey10"
## ..$ size : 'rel' num 0.8
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 3.6pt 3.6pt 3.6pt 3.6pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ strip.text.x : NULL
## $ strip.text.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : num -90
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ strip.switch.pad.grid : 'unit' num 2.25pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ strip.switch.pad.wrap : 'unit' num 2.25pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ strip.text.y.left :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : num 90
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## - attr(*, "class")= chr [1:2] "theme" "gg"
## - attr(*, "complete")= logi TRUE
## - attr(*, "validate")= logi TRUE
## # A tibble: 2 x 11
## Origin_lon Origin_lat Dest_lon Dest_lat Dep_DateTime Arr_DateTime
## <dbl> <dbl> <dbl> <dbl> <dttm> <chr>
## 1 -76.7 39.2 -84.4 33.6 2020-02-24 18:42:00 2020-02-24 ~
## 2 -84.4 33.6 -82.9 40.0 2020-02-24 22:06:00 2020-02-24 ~
## # ... with 5 more variables: AirTime_inter <dbl>, lon_inter <dbl>,
## # lat_inter <dbl>, lon_incre <dbl>, lat_incre <dbl>
## New names:
## * value -> value...1
## * value -> value...2
## New names:
## * value -> value...1
## * value -> value...2
### test
## # A tibble: 2 x 8
## DepTime AirTime Origin_lon Origin_lat Dest_lon Dest_lat lon_incre lat_incre
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2206 67 -84.4 33.6 -82.9 40.0 0.344 1.42
## 2 1842 103 -76.7 39.2 -84.4 33.6 -1.13 -0.807
## # A tibble: 14 x 122
## Year Quarter Month DayofMonth DayOfWeek FlightDate Reporting_Airli~
## <dbl> <dbl> <dbl> <dbl> <dbl> <date> <chr>
## 1 2020 1 2 24 1 2020-02-24 B6
## 2 2020 1 2 24 1 2020-02-24 B6
## 3 2020 1 2 24 1 2020-02-24 B6
## 4 2020 1 2 24 1 2020-02-24 B6
## 5 2020 1 2 24 1 2020-02-24 B6
## 6 2020 1 2 24 1 2020-02-24 B6
## 7 2020 1 2 24 1 2020-02-24 B6
## 8 2020 1 2 24 1 2020-02-24 B6
## 9 2020 1 2 24 1 2020-02-24 B6
## 10 2020 1 2 24 1 2020-02-24 B6
## 11 2020 1 2 24 1 2020-02-24 B6
## 12 2020 1 2 24 1 2020-02-24 B6
## 13 2020 1 2 24 1 2020-02-24 B6
## 14 2020 1 2 24 1 2020-02-24 B6
## # ... with 115 more variables: DOT_ID_Reporting_Airline <dbl>,
## # IATA_CODE_Reporting_Airline <chr>, Tail_Number <chr>,
## # Flight_Number_Reporting_Airline <dbl>, OriginAirportID <dbl>,
## # OriginAirportSeqID <dbl>, OriginCityMarketID <dbl>, Origin <chr>,
## # OriginCityName <chr>, OriginState <chr>, OriginStateFips <chr>,
## # OriginStateName <chr>, OriginWac <dbl>, DestAirportID <dbl>,
## # DestAirportSeqID <dbl>, DestCityMarketID <dbl>, Dest <chr>,
## # DestCityName <chr>, DestState <chr>, DestStateFips <chr>,
## # DestStateName <chr>, DestWac <dbl>, CRSDepTime <chr>, DepTime <chr>,
## # DepDelay <dbl>, DepDelayMinutes <dbl>, DepDel15 <dbl>,
## # DepartureDelayGroups <dbl>, DepTimeBlk <chr>, TaxiOut <dbl>,
## # WheelsOff <chr>, WheelsOn <chr>, TaxiIn <dbl>, CRSArrTime <chr>,
## # ArrTime <chr>, ArrDelay <dbl>, ArrDelayMinutes <dbl>, ArrDel15 <dbl>,
## # ArrivalDelayGroups <dbl>, ArrTimeBlk <chr>, Cancelled <dbl>,
## # CancellationCode <chr>, Diverted <dbl>, CRSElapsedTime <dbl>,
## # ActualElapsedTime <dbl>, AirTime <dbl>, Flights <dbl>, Distance <dbl>,
## # DistanceGroup <dbl>, CarrierDelay <dbl>, WeatherDelay <dbl>,
## # NASDelay <dbl>, SecurityDelay <dbl>, LateAircraftDelay <dbl>,
## # FirstDepTime <chr>, TotalAddGTime <dbl>, LongestAddGTime <dbl>,
## # DivAirportLandings <dbl>, DivReachedDest <dbl>, DivActualElapsedTime <dbl>,
## # DivArrDelay <dbl>, DivDistance <dbl>, Div1Airport <chr>,
## # Div1AirportID <dbl>, Div1AirportSeqID <dbl>, Div1WheelsOn <chr>,
## # Div1TotalGTime <dbl>, Div1LongestGTime <dbl>, Div1WheelsOff <dbl>,
## # Div1TailNum <chr>, Div2Airport <lgl>, Div2AirportID <lgl>,
## # Div2AirportSeqID <lgl>, Div2WheelsOn <lgl>, Div2TotalGTime <lgl>,
## # Div2LongestGTime <lgl>, Div2WheelsOff <lgl>, Div2TailNum <lgl>,
## # Div3Airport <lgl>, Div3AirportID <lgl>, Div3AirportSeqID <lgl>,
## # Div3WheelsOn <lgl>, Div3TotalGTime <lgl>, Div3LongestGTime <lgl>,
## # Div3WheelsOff <lgl>, Div3TailNum <lgl>, Div4Airport <lgl>,
## # Div4AirportID <lgl>, Div4AirportSeqID <lgl>, Div4WheelsOn <lgl>,
## # Div4TotalGTime <lgl>, Div4LongestGTime <lgl>, Div4WheelsOff <lgl>,
## # Div4TailNum <lgl>, Div5Airport <lgl>, Div5AirportID <lgl>,
## # Div5AirportSeqID <lgl>, Div5WheelsOn <lgl>, Div5TotalGTime <lgl>,
## # Div5LongestGTime <lgl>, ...
Here is one way to make an animation.
## Parsed with column specification:
## cols(
## .default = col_double(),
## FlightDate = col_date(format = ""),
## Reporting_Airline = col_character(),
## IATA_CODE_Reporting_Airline = col_character(),
## Tail_Number = col_character(),
## Origin = col_character(),
## OriginCityName = col_character(),
## OriginState = col_character(),
## OriginStateFips = col_character(),
## OriginStateName = col_character(),
## Dest = col_character(),
## DestCityName = col_character(),
## DestState = col_character(),
## DestStateFips = col_character(),
## DestStateName = col_character(),
## CRSDepTime = col_character(),
## DepTime = col_character(),
## DepTimeBlk = col_character(),
## WheelsOff = col_character(),
## WheelsOn = col_character(),
## CRSArrTime = col_character()
## # ... with 40 more columns
## )
## See spec(...) for full column specifications.
## Parsed with column specification:
## cols(
## `Airline ID` = col_double(),
## Name = col_character(),
## Alias = col_character(),
## IATA = col_character(),
## ICAO = col_character(),
## Callsign = col_character(),
## Country = col_character(),
## Active = col_character()
## )
## Parsed with column specification:
## cols(
## `Airport ID` = col_double(),
## Name = col_character(),
## City = col_character(),
## Country = col_character(),
## IATA = col_character(),
## ICAO = col_character(),
## Latitude = col_double(),
## Longitude = col_double(),
## Altitude = col_double(),
## Timezone = col_double(),
## DST = col_character(),
## `Tz database time zone` = col_character(),
## Type = col_character(),
## Source = col_character()
## )
## Parsed with column specification:
## cols(
## .default = col_character(),
## `YEAR MFR` = col_double(),
## `TYPE REGISTRANT` = col_double(),
## `LAST ACTION DATE` = col_double(),
## `CERT ISSUE DATE` = col_double(),
## `TYPE AIRCRAFT` = col_double(),
## `TYPE ENGINE` = col_double(),
## `MODE S CODE` = col_double(),
## `AIR WORTH DATE` = col_double(),
## `EXPIRATION DATE` = col_double(),
## X35 = col_logical()
## )
## See spec(...) for full column specifications.
## Parsed with column specification:
## cols(
## CODE = col_character(),
## MFR = col_character(),
## MODEL = col_character(),
## TYPE = col_double(),
## HORSEPOWER = col_character(),
## THRUST = col_character(),
## X7 = col_logical()
## )
## Parsed with column specification:
## cols(
## CODE = col_character(),
## MFR = col_character(),
## MODEL = col_character(),
## `TYPE-ACFT` = col_double(),
## `TYPE-ENG` = col_double(),
## `AC-CAT` = col_double(),
## `BUILD-CERT-IND` = col_double(),
## `NO-ENG` = col_character(),
## `NO-SEATS` = col_character(),
## `AC-WEIGHT` = col_character(),
## SPEED = col_character(),
## X12 = col_logical()
## )
## Parsed with column specification:
## cols(
## .default = col_character(),
## valid = col_datetime(format = ""),
## lon = col_double(),
## lat = col_double(),
## alti = col_double(),
## vsby = col_double()
## )
## See spec(...) for full column specifications.
## Loading required package: xml2
##
## Attaching package: 'rvest'
## The following object is masked from 'package:purrr':
##
## pluck
## The following object is masked from 'package:readr':
##
## guess_encoding
## # A tibble: 1 x 6
## faa pop mayor area zip fip
## <chr> <dbl> <chr> <dbl> <chr> <chr>
## 1 ATL 506811 Keisha Lance B~ 8376 30060, 30301–30322, 30324–30334, 30~ 13-04~
Data for Exercise 3:
Packages used to produce this assignment are:
tidyverse (Wickham et al. 2019), ggmap (Kahle and Wickham 2013), ggthemes (Arnold 2019), lutz (Teucher 2019), lubridate (Grolemund and Wickham 2011), kableExtra (Zhu 2019), janitor (Firke 2020), viridis (Garnier 2018), bookdown (Xie 2016)
Cite the main sources for your work, including R packages used.
Arnold, Jeffrey B. 2019. Ggthemes: Extra Themes, Scales and Geoms for ’Ggplot2’. https://CRAN.R-project.org/package=ggthemes.
Firke, Sam. 2020. Janitor: Simple Tools for Examining and Cleaning Dirty Data. https://CRAN.R-project.org/package=janitor.
Garnier, Simon. 2018. Viridis: Default Color Maps from ’Matplotlib’. https://CRAN.R-project.org/package=viridis.
Grolemund, Garrett, and Hadley Wickham. 2011. “Dates and Times Made Easy with lubridate.” Journal of Statistical Software 40 (3): 1–25. http://www.jstatsoft.org/v40/i03/.
Kahle, David, and Hadley Wickham. 2013. “Ggmap: Spatial Visualization with Ggplot2.” The R Journal 5 (1): 144–61. https://journal.r-project.org/archive/2013-1/kahle-wickham.pdf.
Teucher, Andy. 2019. Lutz: Look up Time Zones of Point Coordinates. https://CRAN.R-project.org/package=lutz.
Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.
Xie, Yihui. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.
Zhu, Hao. 2019. KableExtra: Construct Complex Table with ’Kable’ and Pipe Syntax. https://CRAN.R-project.org/package=kableExtra.